home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / PIIGSIncludes / MiscTool.p < prev    next >
Encoding:
Text File  |  1990-04-03  |  11.6 KB  |  379 lines  |  [TEXT/MPS ]

  1. {********************************************
  2. ; File: MiscTool.p
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc. 1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************}
  9.  
  10. UNIT MISCTOOL;
  11. INTERFACE
  12. USES TYPES;
  13. CONST
  14.  
  15. { Error codes }
  16. badInputErr = $0301;  { bad input parameter }
  17. noDevParamErr = $0302;  { no device for input parameter }
  18. taskInstlErr = $0303;  { task already installed error }
  19. noSigTaskErr = $0304;  { no signature in task header }
  20. queueDmgdErr = $0305;  { queue has been damaged error }
  21. taskNtFdErr = $0306;  { task was not found error }
  22. firmTaskErr = $0307;  { firmware task was unsuccessful }
  23. hbQueueBadErr = $0308;  { heartbeat queue damaged }
  24. unCnctdDevErr = $0309;  { attempted to dispatch to unconnected device }
  25. idTagNtAvlErr = $030B;  { ID tag not available }
  26. notInList = $0380;
  27. invalidTag = $0381;  { correct signature value not found in header }
  28. alreadyInQueue = $0382;
  29.  
  30. { System Fail Codes }
  31. pdosUnClmdIntErr = $0001;  { ProDOS unclaimed interrupt error }
  32. divByZeroErr = $0004;  { divide by zero error }
  33. pdosVCBErr = $000A;  { ProDOS VCB unusable }
  34. pdosFCBErr = $000B;  { ProDOS FCB unusable }
  35. pdosBlk0Err = $000C;  { ProDOS block zero allocated illegally }
  36. pdosIntShdwErr = $000D;  { ProDOS interrupt w/ shadowing off }
  37. segLoader1Err = $0015;  { segment loader error }
  38. sPackage0Err = $0017;  { can't load a package }
  39. package1Err = $0018;  { can't load a package }
  40. package2Err = $0019;  { can't load a package }
  41. package3Err = $001A;  { can't load a package }
  42. package4Err = $001B;  { can't load a package }
  43. package5Err = $001C;  { can't load a package }
  44. package6Err = $001D;  { can't load a package }
  45. package7Err = $001E;  { can't load a package }
  46. package8Err = $0020;  { can't load a package }
  47. package9Err = $0021;  { can't load a package }
  48. package10Err = $0022;  { can't load a package }
  49. package11Err = $0023;  { can't load a package }
  50. package12Err = $0024;  { can't load a package }
  51. outOfMemErr = $0025;  { out of memory error }
  52. segLoader2Err = $0026;  { segment loader error }
  53. fMapTrshdErr = $0027;  { file map trashed }
  54. stkOvrFlwErr = $0028;  { stack overflow error }
  55. psInstDiskErr = $0030;  { Please Insert Disk (file manager alert) }
  56. memMgr1Err = $0032;  { memory manager error }
  57. memMgr2Err = $0033;  { memory manager error }
  58. memMgr3Err = $0034;  { memory manager error }
  59. memMgr4Err = $0035;  { memory manager error }
  60. memMgr5Err = $0036;  { memory manager error }
  61. memMgr6Err = $0037;  { memory manager error }
  62. memMgr7Err = $0038;  { memory manager error }
  63. memMgr8Err = $0039;  { memory manager error }
  64. memMgr9Err = $003A;  { memory manager error }
  65. memMgr10Err = $003B;  { memory manager error }
  66. memMgr11Err = $003C;  { memory manager error }
  67. memMgr12Err = $003D;  { memory manager error }
  68. memMgr13Err = $003E;  { memory manager error }
  69. memMgr14Err = $003F;  { memory manager error }
  70. memMgr15Err = $0040;  { memory manager error }
  71. memMgr16Err = $0041;  { memory manager error }
  72. memMgr17Err = $0042;  { memory manager error }
  73. memMgr18Err = $0043;  { memory manager error }
  74. memMgr19Err = $0044;  { memory manager error }
  75. memMgr20Err = $0045;  { memory manager error }
  76. memMgr21Err = $0046;  { memory manager error }
  77. memMgr22Err = $0047;  { memory manager error }
  78. memMgr23Err = $0048;  { memory manager error }
  79. memMgr24Err = $0049;  { memory manager error }
  80. memMgr25Err = $004A;  { memory manager error }
  81. memMgr26Err = $004B;  { memory manager error }
  82. memMgr27Err = $004C;  { memory manager error }
  83. memMgr28Err = $004D;  { memory manager error }
  84. memMgr29Err = $004E;  { memory manager error }
  85. memMgr30Err = $004F;  { memory manager error }
  86. memMgr31Err = $0050;  { memory manager error }
  87. memMgr32Err = $0051;  { memory manager error }
  88. memMgr33Err = $0052;  { memory manager error }
  89. memMgr34Err = $0053;  { memory manager error }
  90. stupVolMntErr = $0100;  { can't mount system startup volume }
  91.  
  92. { Battery Ram Parameter Reference Numbers }
  93. p1PrntModem = $0000;
  94. p1LineLnth = $0001;
  95. p1DelLine = $0002;
  96. p1AddLine = $0003;
  97. p1Echo = $0004;
  98. p1Buffer = $0005;
  99. p1Baud = $0006;
  100. p1DtStpBits = $0007;
  101. p1Parity = $0008;
  102. p1DCDHndShk = $0009;
  103. p1DSRHndShk = $000A;
  104. p1XnfHndShk = $000B;
  105. p2PrntModem = $000C;
  106. p2LineLnth = $000D;
  107. p2DelLine = $000E;
  108. p2AddLine = $000F;
  109. p2Echo = $0010;
  110. p2Buffer = $0011;
  111. p2Baud = $0012;
  112. p2DtStpBits = $0013;
  113. p2Parity = $0014;
  114. p2DCDHndShk = $0015;
  115. p2DSRHndShk = $0016;
  116. p2XnfHndShk = $0017;
  117. dspColMono = $0018;
  118. dsp40or80 = $0019;
  119. dspTxtColor = $001A;
  120. dspBckColor = $001B;
  121. dspBrdColor = $001C;
  122. hrtz50or60 = $001D;
  123. userVolume = $001E;
  124. bellVolume = $001F;
  125. sysSpeed = $0020;
  126. slt1intExt = $0021;
  127. slt2intExt = $0022;
  128. slt3intExt = $0023;
  129. slt4intExt = $0024;
  130. slt5intExt = $0025;
  131. slt6intExt = $0026;
  132. slt7intExt = $0027;
  133. startupSlt = $0028;
  134. txtDspLang = $0029;
  135. kyBdLang = $002A;
  136. kyBdBuffer = $002B;
  137. kyBdRepSpd = $002C;
  138. kyBdRepDel = $002D;
  139. dblClkTime = $002E;
  140. flashRate = $002F;
  141. shftCpsLCas = $0030;
  142. fstSpDelKey = $0031;
  143. dualSpeed = $0032;
  144. hiMouseRes = $0033;
  145. dateFormat = $0034;
  146. clockFormat = $0035;
  147. rdMinRam = $0036;
  148. rdMaxRam = $0037;
  149. langCount = $0038;
  150. lang1 = $0039;
  151. lang2 = $003A;
  152. lang3 = $003B;
  153. lang4 = $003C;
  154. lang5 = $003D;
  155. lang6 = $003E;
  156. lang7 = $003F;
  157. lang8 = $0040;
  158. layoutCount = $0041;
  159. layout1 = $0042;
  160. layout2 = $0043;
  161. layout3 = $0044;
  162. layout4 = $0045;
  163. layout5 = $0046;
  164. layout6 = $0047;
  165. layout7 = $0048;
  166. layout8 = $0049;
  167. layout9 = $004A;
  168. layout10 = $004B;
  169. layout11 = $004C;
  170. layout12 = $004D;
  171. layout13 = $004E;
  172. layout14 = $004F;
  173. layout15 = $0050;
  174. layout16 = $0051;
  175. aTalkNodeNo = $0080;
  176.  
  177. { GetAddr Parameter Reference Numbers }
  178. irqIntFlag = $0000;
  179. irqDataReg = $0001;
  180. irqSerial1 = $0002;
  181. irqSerial2 = $0003;
  182. irqAplTlkHi = $0004;
  183. tickCnt = $0005;
  184. irqVolume = $0006;
  185. irqActive = $0007;
  186. irqSndData = $0008;
  187. brkVar = $0009;
  188. evMgrData = $000A;
  189. mouseSlot = $000B;
  190. mouseClamps = $000C;
  191. absClamps = $000D;
  192. sccIntFlag = $000E;
  193.  
  194. { Hardware Interrupt Status Numbers }
  195. extVGCInt = $01;  { Returned by GetIRQEnable }
  196. scanLineInt = $02;  { Returned by GetIRQEnable }
  197. adbDataInt = $04;  { Returned by GetIRQEnable }
  198. ADTBDataInt = $04;  { maintained for compatiblity with old interfaces }
  199. oneSecInt = $10;  { Returned by GetIRQEnable }
  200. quartSecInt = $20;  { Returned by GetIRQEnable }
  201. vbInt = $40;  { Returned by GetIRQEnable }
  202. kbdInt = $80;  { Returned by GetIRQEnable }
  203.  
  204. { Interrupt Reference Numbers }
  205. kybdEnable = $0000;  { Parameter to IntSource }
  206. kybdDisable = $0001;  { Parameter to IntSource }
  207. vblEnable = $0002;  { Parameter to IntSource }
  208. vblDisable = $0003;  { Parameter to IntSource }
  209. qSecEnable = $0004;  { Parameter to IntSource }
  210. qSecDisable = $0005;  { Parameter to IntSource }
  211. oSecEnable = $0006;  { Parameter to IntSource }
  212. oSecDisable = $0007;  { Parameter to IntSource }
  213. adbEnable = $000A;  { Parameter to IntSource }
  214. adbDisable = $000B;  { Parameter to IntSource }
  215. scLnEnable = $000C;  { Parameter to IntSource }
  216. scLnDisable = $000D;  { Parameter to IntSource }
  217. exVCGEnable = $000E;  { Parameter to IntSource }
  218. exVCGDisable = $000F;  { Parameter to IntSource }
  219.  
  220. { Mouse Mode Values }
  221. mouseOff = $0000;
  222. transparent = $0001;
  223. transParnt = $0001;  { (old name) }
  224. moveIntrpt = $0003;
  225. bttnIntrpt = $0005;
  226. bttnOrMove = $0007;
  227. mouseOffVI = $0008;
  228. transParntVI = $0009;  { (old name) }
  229. transparentVI = $0009;
  230. moveIntrptVI = $000B;
  231. bttnIntrptVI = $000D;
  232. bttnOrMoveVI = $000F;
  233.  
  234. { Vector Reference Numbers }
  235. toolLoc1 = $0000;
  236. toolLoc2 = $0001;
  237. usrTLoc1 = $0002;
  238. usrTLoc2 = $0003;
  239. intrptMgr = $0004;
  240. copMgr = $0005;
  241. abortMgr = $0006;
  242. _sysFailMgr = $0007;
  243. aTalkIntHnd = $0008;
  244. sccIntHnd = $0009;
  245. scLnIntHnd = $000A;
  246. sndIntHnd = $000B;
  247. vblIntHnd = $000C;
  248. mouseIntHnd = $000D;
  249. qSecIntHnd = $000E;
  250. kybdIntHnd = $000F;
  251. adbRBIHnd = $0010;
  252. adbSRQHnd = $0011;
  253. deskAccHnd = $0012;
  254. flshBufHnd = $0013;
  255. kybdMicHnd = $0014;
  256. oneSecHnd = $0015;
  257. extVCGHnd = $0016;
  258. otherIntHnd = $0017;
  259. crsrUpdtHnd = $0018;
  260. incBsyFlag = $0019;
  261. decBsyFlag = $001A;
  262. bellVector = $001B;
  263. breakVector = $001C;
  264. traceVector = $001D;
  265. stepVector = $001E;
  266. ctlYVector = $0028;
  267. proDOSVector = $002A;
  268. proDOSVctr = $002A;  { for backward compatibility }
  269. osVector = $002B;
  270. msgPtrVector = $002C;
  271. msgPtrVctr = $002C;  { for backward compatibility }
  272. memMoverVector = $0080;
  273. sysSpeedVector = $0081;
  274. slotArbiterVector = $0082;
  275. hiInterruptVector = $0086;
  276. midiInterruptVector = $0087;
  277.  
  278. TYPE
  279. ClampRecHndl = ^ClampRecPtr;
  280. ClampRecPtr = ^ClampRec;
  281. ClampRec = RECORD
  282.     yMaxClamp : Integer;
  283.     yMinClamp : Integer;
  284.     xMaxClamp : Integer;
  285.     xMinClamp : Integer;
  286. END;
  287. FWRecHndl = ^FWRecPtr;
  288. FWRecPtr = ^FWRec;
  289. FWRec = RECORD
  290.     yRegExit : Integer;
  291.     xRegExit : Integer;
  292.     aRegExit : Integer;
  293.     status : Integer;
  294. END;
  295. MouseRecHndl = ^MouseRecPtr;
  296. MouseRecPtr = ^MouseRec;
  297. MouseRec = PACKED RECORD
  298.     mouseMode : Byte;
  299.     mouseStatus : Byte;
  300.     yPos : Integer;
  301.     xPos : Integer;
  302. END;
  303. InterruptStateRecHndl = ^InterruptStateRecPtr;
  304. InterruptStateRecPtr = ^InterruptStateRec;
  305. InterruptStateRec = PACKED RECORD
  306.     irq_A : Integer;
  307.     irq_X : Integer;
  308.     irq_Y : Integer;
  309.     irq_S : Integer;
  310.     irq_D : Integer;
  311.     irq_P : Byte;
  312.     irq_DB : Byte;
  313.     irq_e : Byte;
  314.     irq_K : Byte;
  315.     irq_PC : Integer;
  316.     irq_state : Byte;
  317.     irq_shadow : Integer;
  318.     irq_mslot : Byte;
  319. END;
  320. QueueHeaderRecPtr = ^QueueHeaderRec;
  321. QueueHeaderRec = RECORD
  322.     qNext : QueueHeaderRecPtr;
  323.     reserved : Integer;
  324.     signature : Integer; { Validates header - must be $A55A  }
  325. END;
  326. PROCEDURE AddToQueue ( newEntryPtr:Ptr; headerPtr:Ptr)  ;
  327. PROCEDURE ClampMouse ( xMinClamp:Integer; xMaxClamp:Integer; yMinClamp:Integer; yMaxClamp:Integer)  ;
  328. PROCEDURE ClearMouse   ;
  329. PROCEDURE ClrHeartBeat   ;
  330. PROCEDURE DelHeartBeat ( taskPtr:Ptr)  ;
  331. PROCEDURE DeleteFromQueue ( entryPtr:Ptr; headerPtr:Ptr)  ;
  332. PROCEDURE DeleteID ( idTag:Integer)  ;
  333. FUNCTION FWEntry ( aRegValue:Integer; xRegValue:Integer; yRegValue:Integer; eModeEntryPt:Integer) : FWRec ;
  334. FUNCTION GetAbsClamp  : ClampRec ;
  335. FUNCTION GetAddr ( refNum:Integer) : Ptr ;
  336. FUNCTION GetCodeResConverter  : ProcPtr ;
  337. FUNCTION GetIRQEnable  : Integer ;
  338. FUNCTION GetIntStateRecSize  : Integer ;
  339. PROCEDURE GetInterruptState (VAR iStateRec:InterruptStateRec; bytesDesired:Integer)  ;
  340. FUNCTION GetMouseClamp  : ClampRec ;
  341. FUNCTION GetNewID ( idTag:Integer) : Integer ;
  342. FUNCTION GetRomResource  : Ptr ;
  343. FUNCTION GetTick  : Longint ;
  344. FUNCTION GetVector ( vectorRefNum:Integer) : Ptr ;
  345. PROCEDURE HomeMouse   ;
  346. PROCEDURE InitMouse ( mouseSlot:Integer)  ;
  347. PROCEDURE IntSource ( srcRefNum:Integer)  ;
  348. PROCEDURE MTBootInit   ;
  349. PROCEDURE MTReset   ;
  350. PROCEDURE MTShutDown   ;
  351. PROCEDURE MTStartUp   ;
  352. FUNCTION MTStatus  : Boolean ;
  353. FUNCTION MTVersion  : Integer ;
  354. FUNCTION Munger ( destPtr:Ptr; destLenPtr:IntPtr; targPtr:Ptr; targLen:Integer; replPtr:Ptr; replLen:Integer; padPtr:Ptr) : Integer ;
  355. FUNCTION PackBytes (VAR srcBuffer:Ptr;VAR srcSize:Integer; dstBuffer:Ptr; dstSize:Integer) : Integer ;
  356. PROCEDURE PosMouse ( xPos:Integer; yPos:Integer)  ;
  357. PROCEDURE ReadAsciiTime ( bufferPtr:Ptr)  ;
  358. FUNCTION ReadBParam ( paramRefNum:Integer) : Integer ;
  359. PROCEDURE ReadBRam ( bufferPtr:Ptr)  ;
  360. FUNCTION ReadMouse  : MouseRec ;
  361. FUNCTION ReadMouse2  : MouseRec ;
  362. FUNCTION ReadTimeHex  : TimeRec ;
  363. PROCEDURE ReleaseRomResource   ;
  364. FUNCTION ServeMouse  : Integer ;
  365. PROCEDURE SetAbsClamp ( xMinClamp:Integer; xMaxClamp:Integer; yMinClamp:Integer; yMaxClamp:Integer)  ;
  366. PROCEDURE SetHeartBeat ( taskPtr:Ptr)  ;
  367. PROCEDURE SetInterruptState ( iStateRec:InterruptStateRec; bytesDesired:Integer)  ;
  368. PROCEDURE SetMouse ( mouseMode:Integer)  ;
  369. PROCEDURE SetVector ( vectorRefNum:Integer; vectorPtr:Ptr)  ;
  370. PROCEDURE StatusID ( idTag:Integer)  ;
  371. PROCEDURE SysBeep   ;
  372. PROCEDURE SysFailMgr ( errorCode:Integer; str:Str255)  ;
  373. FUNCTION UnPackBytes ( srcBuffer:Ptr; srcSize:Integer;VAR dstBuffer:Ptr;VAR dstSize:Integer) : Integer ;
  374. PROCEDURE WriteBParam ( theData:Integer; paramRefNum:Integer)  ;
  375. PROCEDURE WriteBRam ( bufferPtr:Ptr)  ;
  376. PROCEDURE WriteTimeHex ( month:Byte; day:Byte; curYear:Byte; hour:Byte; minute:Byte; second:Byte)  ;
  377. IMPLEMENTATION
  378. END.
  379.